package com.xoa.controller.workPlan;


import com.xoa.model.workPlan.WorkDetail;
import com.xoa.model.workPlan.WorkDetailWithBLOBs;
import com.xoa.model.workPlan.WorkPlanWithBLOBs;
import com.xoa.service.workPlan.WorkDetailService;
import com.xoa.service.workPlan.WorkPlanService;
import com.xoa.util.DateCompute;
import com.xoa.util.DateFormat;
import com.xoa.util.ToJson;
import org.springframework.beans.propertyeditors.CustomDateEditor;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.WebDataBinder;
import org.springframework.web.bind.annotation.InitBinder;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

/**
 * Created by gsb on 2017/9/5.
 */
@Controller
@RequestMapping("/workDetail")
public class WorkDetailController {

    @Resource
    private WorkDetailService workDetailService;

    @InitBinder
    public void initBinder(WebDataBinder binder) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        dateFormat.setLenient(false);
        binder.registerCustomEditor(Date.class, new CustomDateEditor(dateFormat, true));
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月19日 下午14:18:00
     * 方法介绍:   根据计划id进行查询工作进度日志
     * 参数说明:   @param planId 计划id
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/selWorkDetailByPlanId")
    ToJson<WorkDetailWithBLOBs> selWorkDetailByPlanId(WorkDetailWithBLOBs workDetailWithBLOBs){
       return workDetailService.selWorkDetailByPlanId(workDetailWithBLOBs);
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月19日 下午14:18:00
     * 方法介绍:   根据id进行查询工作进度日志
     * 参数说明:   @param detailId 工作进度id
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/selWorkDetailById")
    ToJson<WorkDetailWithBLOBs> selWorkDetailById(int  detailId){
        return workDetailService.selWorkDetailById(detailId);
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月19日 下午14:18:00
     * 方法介绍:   根据id修改工作进度
     * 参数说明:   record
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/updateWorkDetailById")
    ToJson<WorkDetailWithBLOBs> updateWorkDetailById(WorkDetailWithBLOBs record){
       return workDetailService.updateWorkDetailById(record);
    }


    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月19日 下午14:18:00
     * 方法介绍:  添加工作进度
     * 参数说明:   record
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/insertWorkDetail")
    ToJson<WorkDetailWithBLOBs> insertWorkDetail(WorkDetailWithBLOBs record, HttpServletRequest request){
       return workDetailService.insertWorkDetail(record,request);
    }

    /**
     * 创建作者:   牛江丽
     * 创建日期:   2017年9月19日 下午14:18:00
     * 方法介绍:  根据id删除工作进度
     * 参数说明:   detailId
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/delWorkDetailById")
    public ToJson<WorkDetailWithBLOBs> delWorkDetailById(int detailId){
        return workDetailService.delWorkDetailById(detailId);
    }
}
